/*
 * IcmpErrorSession.h
 *
 *  Created on: 27/08/2011
 *      Author: george
 */

#include <netinet/in.h>
#include <string>
#include <fstream>
#include "types.h"

#ifndef ICMPERRORSESSION_H_
#define ICMPERRORSESSION_H_

class IcmpErrorSession {
public:
	IcmpErrorSession();

//	Origem, destino e id da sessão ICMP
	struct in_addr src, dst;
	std::string srcaddr, dstaddr;
	int id;

//	Arquivo para armazenar os cabeçalhos de todos os pacotes desta sessão
	std::ofstream packets;

//	Nome do arquivo onde estam armazenados os cabecalhos dos pacotes icmp
	std::string filename;

//	Construtor e destrutor
	IcmpErrorSession(struct in_addr src, struct in_addr dst);
	~IcmpErrorSession();
	bool add(icmp_hdr_t *p);

};

#endif /* ICMPERRORSESSION_H_ */
